Use context2D to convert CSS4 colors to display-p3#2145
Open
Fil wants to merge 2 commits intombostock/raster-color-spacefrom
Open
Use context2D to convert CSS4 colors to display-p3#2145Fil wants to merge 2 commits intombostock/raster-color-spacefrom
Fil wants to merge 2 commits intombostock/raster-color-spacefrom
Conversation
* memoize (with some decent limit) for faster renders * clear rect to guard against semi-transparent color leaks
Contributor
Author
|
OK now it's fast in both examples (p3 and CSS4 + sRGB). |
Contributor
Author
|
One thing that doesn't work here is the serialization to disk made by our unit tests; you can see the two new SVGs appear black (in this PR's preview on github, as well as on dick for me). I think it's okay for now, but it means that node-canvas doesn't support CSS4 nor display-p3? Needs a bit more investigation. |
Contributor
Author
|
After investigation:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Since we rely on the browser to parse CSS4, and to create a canvas, we can rely on it to also convert these colors to whatever color space it supports.
Maybe this is a hack—or maybe it's the only correct way.
If it's the correct way, maybe we can apply this technique to also support CSS4 colors in the sRGB color space, instead of relying on d3.rgb.